package com.threadmethod.synchronize;

/**
 * @PackageName:com.threadmethod.synchronize
 * @ClassName:test01
 * @Description: 如果线程的锁不同不能实现同步
 * @Author: zhangxiaoyu
 * @date 2020/12/8 17:41
 */
public class Test09 {

    public static void main(String[] args) {

        //先创建对象
        Test09 obi = new Test09();
        Test09 obi02 = new Test09();

        new Thread(new Runnable() {
            @Override
            public void run() {
                obi.mm();  //使用的锁对象this就是obi对象
            }
        }).start();

        new Thread(new Runnable() {
            @Override
            public void run() {
                obi02.mm();
            }
        }).start();

    }

    public  static final Object OBJ = new Object();//定义一个常量

    public void mm(){

        synchronized (OBJ){
            //使用一个常量对象做为锁对象
            for(int i=1;i<=100;i++){
                System.out.println(Thread.currentThread().getName()+"---------->"+i);
            }
        }

    }

}
